home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / bin / ecryptfs-rewrite-file < prev    next >
Text File  |  2009-10-22  |  2KB  |  76 lines

  1. #!/bin/sh -e
  2. #
  3. #    ecryptfs-rewrite-file
  4. #    Copyright (C) 2008 Canonical Ltd.
  5. #
  6. #    Authors: Dustin Kirkland <kirkland@canonical.com>
  7. #
  8. #    This program is free software: you can redistribute it and/or modify
  9. #    it under the terms of the GNU General Public License as published by
  10. #    the Free Software Foundation, version 2 of the License.
  11. #
  12. #    This program is distributed in the hope that it will be useful,
  13. #    but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. #    GNU General Public License for more details.
  16. #
  17. #    You should have received a copy of the GNU General Public License
  18. #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
  19.  
  20. TEXTDOMAIN="ecryptfs-utils"
  21.  
  22. error() {
  23.     echo `gettext "[FAILED]"`
  24.     echo `gettext "ERROR:"` "$1" 1>&2
  25. }
  26. j=0
  27. OKs=0
  28. for i in "$@"; do
  29.     j=`expr $j + 1`
  30.     echo -n `gettext "INFO:"` `gettext "Rewriting"` "[$j/$#] [$i] ... "
  31.     if [ ! -e "$i" ] ; then
  32.         error `gettext "File does not exist"`
  33.         continue
  34.     fi
  35.     if [ "$i" = "." ]; then
  36.         echo `gettext "[EXCLUDED]"` >&2
  37.         continue
  38.     fi
  39.     opt=
  40.     if [ -d "$i" -a ! -h "$i" ]; then
  41.         # A directory, re-encrypt the filename
  42.         temp1=`mktemp -d "$i".XXXXXXXXXX` || {
  43.             error `gettext "Could not create tempdir"`
  44.             continue
  45.         }
  46.         mv -f -T "$i" "$temp1" 2>/dev/null  || {
  47.             error `gettext "Could not rename"` "[$i] -> [$temp1]"
  48.             rmdir "$temp1"
  49.             continue
  50.         }
  51.         mv -f "$temp1" "$i" 2>/dev/null || {
  52.             error `gettext "Could not rename"` "[$temp1] -> [$i]"
  53.         }
  54.     else
  55.         # A file or symlink, re-encrypt the contents
  56.         temp1=`mktemp "$i".XXXXXXXXXX` || {
  57.             error `gettext "Could not create tempfile"`
  58.             continue
  59.         }
  60.         cp -a "$i" "$temp1" 2>/dev/null || {
  61.             error `gettext "Could not copy"` "[$i] -> [$temp1]"
  62.             rm -f "$temp1"
  63.             continue
  64.         }
  65.         mv -f "$temp1" "$i" 2>/dev/null || {
  66.             error `gettext "Could not rename"` "[$temp1] -> [$i]"
  67.             continue
  68.         }
  69.     fi
  70.     echo `gettext "[OK]"`
  71.     OKs=$((OKs+1))
  72. done
  73. echo "$OKs/$j" `gettext "rewrites succeeded"`
  74. [ $OKs -ne $j ] && exit 1
  75. exit 0
  76.